﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.ComponentModel;
using HighDivePrint.Model;

namespace HighDivePrint.View
{
    public delegate void DelegateNewDiver();
    public delegate void DelegateDeleteDiver(int index);
    public delegate void DelegateSaveToFile();
    public delegate void DelegateReadFromFile();

    public delegate void DelegateAddToList();
    public delegate void DelegateDeleteFromList(int index);
    public delegate void DelegateSaveToList();
    public delegate void DelegateReadList();

    public interface IFormMain
    {
        //Diver Class
        void SetDiverList(BindingList<Diver> diver);

        event DelegateNewDiver EventNewDiver;
        event DelegateDeleteDiver EventDeleteDiver;
        event DelegateSaveToFile EventSaveToFile;
        event DelegateReadFromFile EventReadFromFile;

        //Dive Class
        void SetDiveList(BindingList<Dive> dive);

        event DelegateAddToList EventAddToList;
        event DelegateDeleteFromList EventDeleteFromList;
        event DelegateSaveToList EventSaveToList;
        event DelegateReadList EventReadList;



    }
}
